using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FEL.COM;
using System.Collections.Generic;
using System.Web.Services;
using FEL.BOD;
using System.Globalization;
using System.Reflection;

public partial class BOD_BOD_BAJA_DET : PaginaBaseKCG 
{
    public Bod_Baja Bod_Baja_Actual
    {
        get
        {
            if (ViewState["BOD_BAJA"] == null)
                ViewState["BOD_BAJA"] = ObtenerBodBaja();
            return (Bod_Baja)ViewState["BOD_BAJA"];
        }
    }


    Bod_Baja ObtenerBodBaja()
    {
        FEL.BOD.BO_Bod_Baja datos = new BO_Bod_Baja();
        return datos.GetById("", Scope, Request.QueryString["Bod_Baja_Id"])[0];

    }
    protected void Page_Load(object sender, EventArgs e)
    {
        
        Fv.DataBound += new EventHandler(fvbod_baja_det_DataBound);
        base.Page_Load(sender, e);       
        cargarBotones();        
    }
    
    void fvbod_baja_det_DataBound(object sender, EventArgs e)
    {
        if (Fv.CurrentMode == FormViewMode.Insert)
        {
            TextBox cantidad = (TextBox)Fv.FindControl("Cantidad");
            if(cantidad.Text == string.Empty)
                cantidad.Text = 1.ToString("N4", NumberFormatInfo.CurrentInfo);
            
        }
    }

    protected override CheckBox CbInsertarMemoria
    {
        get { return null; }
    }

    protected override Type TipoObjeto
    {
        get { return typeof(global::Bod_Baja_Det); }
    }

    protected override GridView Gv
    {
        get { return gvbod_baja_det; }
    }

    protected override FormView Fv
    {
        get { return fvbod_baja_det; }
    }

    protected override ObjectDataSource OdsGv
    {
        get { return odsgvbod_baja_det; }
    }

    protected override ObjectDataSource OdsDv
    {
        get { return odsfvbod_baja_det; }
    }

    protected override Button BResponderZoom
    {
        get { return Seleccionar; }
    }

    protected override Button BRegreso
    {
        get { return Atras; }
    }
    protected override Koala.KoalaWebControls.KFiltro KftFiltro
    {
        get { return kftFiltro; }
    }
    protected override string Contenedor
    {
        get { return "BOD_BAJA_DET"; }
    }

    protected void nav_Siguiente(object sender, EventArgs e)
    {
        Gv_SelectedIndexChanged(sender, e);
    }
    
    private void cargarBotones()
    {
        //BtnBaja.Text = GetLocalResourceObject("Btn_Bod_Baja_Det_ListadoRecursoKCG.Text").ToString();
        //BtnBaja.ToolTip = GetLocalResourceObject("Btn_Bod_Baja_Det_ListadoRecursoKCG.ToolTip").ToString();        
    }

    protected override void DefinirParametrosFijosDeInsercion(System.Collections.Generic.List<DictionaryEntry> param)
    {
        if (Request.QueryString.Count > 0)
        {
            param.Add(new DictionaryEntry("Bod_Baja_Id", Request.QueryString["Bod_Baja_Id"]));
            param.Add(new DictionaryEntry("Bod_Bodega_Codigo", Bod_Baja_Actual.Bod_Bodega_Codigo));
            param.Add(new DictionaryEntry("Bod_Bodega_Nombre", Bod_Baja_Actual.Bod_Bodega_Nombre));            
            param.Add(new DictionaryEntry("Bod_Baja_Codigo", Bod_Baja_Actual.Bod_Baja_Motivo_Codigo));
            param.Add(new DictionaryEntry("Bod_Baja_Motivo_Nombre", Bod_Baja_Actual.Bod_Baja_Motivo_Nombre));
        }
        base.DefinirParametrosFijosDeInsercion(param);
    }

       

    [WebMethod]
    static public string[] GetArticulo(string prefixText, int count)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.COM.BO_Com_Articulo ComArticulo = new BO_Com_Articulo();
        List<Com_Articulo> litComArticulo = ComArticulo.GetByLikeNombreArticulos("Nombre", s, prefixText + "%");

        List<string> opciones = new List<string>();
        for (int i = 0; i < litComArticulo.Count && i < count; i++)
        {
            string value = litComArticulo[i].Id + "||" +
                           litComArticulo[i].Codigo + "||" +
                           litComArticulo[i].Bod_Unidad_Id + "||" +
                           litComArticulo[i].Bod_Unidad_Codigo + "||" +
                           litComArticulo[i].Bod_Unidad_Nombre;

            opciones.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litComArticulo[i].Nombre, value));
        }
        return opciones.ToArray();
    }

    [WebMethod]
    static public string[] GetUnidad(string prefixText, int count, string contextKey)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.BOD.BO_Bod_Unidad BodUnidad = new BO_Bod_Unidad();
        List<Bod_Unidad> litBodUnidad = BodUnidad.GetByLikeArticulo("Nombre", s, prefixText + "%", contextKey);

        List<string> opciones = new List<string>();
        for (int i = 0; i < litBodUnidad.Count && i < count; i++)
        {
            string value = litBodUnidad[i].Id + "||" +
                           litBodUnidad[i].Codigo;

            opciones.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litBodUnidad[i].Nombre, value));
        }
        return opciones.ToArray();
    }

    protected void BtnBaja_Click(object sender, EventArgs e)
    {
        TextBox BodBajaId = (TextBox)Fv.FindControl("Bod_Baja_Id");
        Response.Redirect("~/BOD/BOD_BAJA.aspx?Bod_Baja_Id=" + BodBajaId.Text);

    }

 }
